<?php
/* [$WindsForce] (C)Hunzhiwange.COM Since 2014.07.01.
   家居公司作品模型($$)*/

!defined('Q_PATH') && exit;

function sortCase_($arrA,$arrB){
	if($arrA['s']==$arrB['s']){
		return 0;
	}
	return ($arrA['s']>$arrB['s'])?1:-1;
}

class JiajucaseModel extends CommonModel{

	static public function init__(){
		return array(
			'table_name'=>'jiajucase',
			'check'=>array(
				'jiajucase_sort'=>array(
					array('number',Q::L('序号只能是数字','__COMMON_LANG__@Common')),
				),
				'jiajucase_title'=>array(
					array('require',Q::L('作品标题不能为空','__APPJIAJU_COMMON_LANG__@Model')),
					array('max_length',100,Q::L('作品标题不能超过100个字符','__APPJIAJU_COMMON_LANG__@Model')),
				),
				'jiajucase_thumb'=>array(
					array('require',Q::L('作品缩略图不能为空','__APPJIAJU_COMMON_LANG__@Model')),
					array('max_length',100,Q::L('作品缩略图不能超过100个字符','__APPJIAJU_COMMON_LANG__@Model')),
				),
				'jiajucase_realprice'=>array(
					array('require',Q::L('作品真实报价不能为空','__APPJIAJU_COMMON_LANG__@Model')),
					array('number',Q::L('作品真实报价只能为数字','__APPJIAJU_COMMON_LANG__@Model')),
				),
				'jiajucase_realspace'=>array(
					array('require',Q::L('作品实际面积不能为空','__APPJIAJU_COMMON_LANG__@Model')),
					array('number',Q::L('作品实际面积只能为数字','__APPJIAJU_COMMON_LANG__@Model')),
				),
				'jiajucase_spaceid'=>array(
					array('require',Q::L('作品空间不能为空','__APPJIAJU_COMMON_LANG__@Model')),
				),
				'jiajucase_styleid'=>array(
					array('require',Q::L('作品风格不能为空','__APPJIAJU_COMMON_LANG__@Model')),
				),
				'jiajucase_areaid'=>array(
					array('require',Q::L('作品面积不能为空','__APPJIAJU_COMMON_LANG__@Model')),
				),'
				jiajucase_priceid'=>array(
					array('require',Q::L('作品价格不能为空','__APPJIAJU_COMMON_LANG__@Model')),
				),
			),
		);
	}

	static function F(){
		$arrArgs=func_get_args();
		return ModelMeta::instance(__CLASS__)->findByArgs($arrArgs);
	}

	static function M(){
		return ModelMeta::instance(__CLASS__);
	}

	protected function beforeSave_(){
		$this->jiajucase_title=C::text($this->jiajucase_title);
		$this->jiajucase_thumb=C::text($this->jiajucase_thumb);
		$this->jiajucase_editusername=C::text($this->jiajucase_editusername);
		$this->jiajucase_realprice=intval($this->jiajucase_realprice);
		$this->jiajucase_realspace=intval($this->jiajucase_realspace);
		$this->jiajucase_title=C::text($this->jiajucase_title);
		
		if($this->jiajucase_sort<0){
			$this->jiajucase_sort=0;
		}
		if($this->jiajucase_sort>999){
			$this->jiajucase_sort=999;
		}
	}

	public function saveData($arrCompany){
		// 启动事务
		$bRollback=false;
		$oDb=$this->getDb()->getConnect();
		$oDb->startTransaction();

		if(empty($arrCompany['jiajucompany_id'])){
			$arrCompany=Model::F_('jiajucompany','jiajucompany_id=?',$arrCompany)->setColumns('jiajucompany_id,site_id')->getOne();
		}

		// 商家&城市
		$this->jiajucompany_id=$arrCompany['jiajucompany_id'];
		$this->site_id=$arrCompany['site_id'];

		// 添加人
		$this->user_id=$GLOBALS['___login___']['user_id'];
		$this->jiajucase_username=$GLOBALS['___login___']['user_name'];
		$this->jiajucase_editusername=$GLOBALS['___login___']['user_name'];
		$this->jiajucase_edituserid=$GLOBALS['___login___']['user_id'];
		
		// 图片
		$arrData=array();
		foreach($_POST['pics'] as $nKey=>$sPic){
			$arrData[]=array(
				's'=>$_POST['sorts'][$nKey],
				't'=>$_POST['titles'][$nKey],
				'f'=>$sPic,
			);
		}

		usort($arrData,'sortCase_');

		$this->jiajucase_pics=json_encode($arrData);
		$this->jiajucase_picnum=count($arrData);
		
		$this->save();
		if($this->isError()){
			$bRollback=true;
		}

		// 保存作品介绍
		if($bRollback===false){
			$oJiajucasecontent=new JiajucasecontentModel();
			$oJiajucasecontent->jiajucase_id=$this->jiajucase_id;
			$oJiajucasecontent->save();
			if($oJiajucasecontent->isError()){
				$bRollback=true;
				$this->_sErrorMessage=$oJiajucasecontent->getErrorMessage();
			}
		}

		if($bRollback===false){
			$oDb->commit();
			return true;
		}else{
			$oDb->rollback();
			return false;
		}
	}

	public function updateData($arrCompany){
		// 启动事务
		$bRollback=false;
		$oDb=$this->getDb()->getConnect();
		$oDb->startTransaction();

		if(empty($arrCompany['jiajucompany_id'])){
			$arrCompany=Model::F_('jiajucompany','jiajucompany_id=?',$arrCompany)->setColumns('jiajucompany_id,site_id')->getOne();
		}

		// 商家&城市
		$this->site_id=$arrCompany['site_id'];
		$this->jiajucompany_id=$arrCompany['jiajucompany_id'];

		// 编辑人
		$this->jiajucase_editusername=$GLOBALS['___login___']['user_name'];
		$this->jiajucase_edituserid=$GLOBALS['___login___']['user_id'];

		// 图片
		$arrData=array();
		foreach($_POST['pics'] as $nKey=>$sPic){
			$arrData[]=array(
				's'=>$_POST['sorts'][$nKey],
				't'=>$_POST['titles'][$nKey],
				'f'=>$sPic,
			);
		}

		usort($arrData,'sortCase_');

		$this->jiajucase_pics=json_encode($arrData);
		$this->jiajucase_picnum=count($arrData);

		// 修改后提交
		if($this->jiajucase_status==1 && APP_NAME!=='admin'){
			$this->jiajucase_status=11;
		}
		$this->save('update');
		if($this->isError()){
			$bRollback=true;
		}

		// 保存作品内容
		if($bRollback===false){
			$oJiajucasecontent=JiajucasecontentModel::F('jiajucase_id=?',$this->jiajucase_id)->getOne();
			if(empty($oJiajucasecontent['jiajucase_id'])){
				$bRollback=true;
			}else{
				$oJiajucasecontent->save('update');
				if($oJiajucasecontent->isError()){
					$bRollback=true;
					$this->_sErrorMessage=$oJiajucasecontent->getErrorMessage();
				}
			}
		}

		if($bRollback===false){
			$oDb->commit();
			return true;
		}else{
			$oDb->rollback();
			return false;
		}
	}

}
